Drones generating various air flow effects around a virtual reality or augmented reality user

ABSTRACT

Systems and methods described herein are directed to enhancing a virtual reality (VR) or augmented reality (AR) experience by using one or more unmanned vehicles to generate effects around a user of a headmounted display (HMD). The generated effects may be synchronized with VR/AR content presented to the user of the HMD. Particular systems and methods described herein are directed to enhancing a VR/AR experience by using one or more unmanned aerial vehicles (UAV) to generate air flow effects around a user of a HMD. The air flow effects generated by UAV may simulate a physical and/or olfactory sensation corresponding to a VR/AR environment presented to the user using the HMD.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 62/553,072, filed Aug. 31, 2017, which is incorporatedherein by reference in its entirety.

BRIEF SUMMARY OF THE DISCLOSURE

Techniques described herein are directed to enhancing a virtual reality(VR) or augmented reality (AR) experience by using one or more unmannedvehicles to generate effects around a user of a headmounted display(HMD).

In one embodiment, a method includes: communicatively coupling anunmanned vehicle to a VR system including a VR HMD; determining adesired physical effect to be generated on a user of the VR HMD; basedon at least the desired physical effect, positioning the unmannedvehicle relative to the position of the user of the VR HMD andconfiguring the unmanned vehicle in preparation for generating thephysical effect; and after positioning the unmanned vehicle, generatinga physical effect on the user of the VR HMD.

In implementations, the method may further include: presenting VRcontent on a display of the VR HMD; and synchronizing presentation ofthe VR content with the generation of the physical effect on the user ofthe VR HMD. In implementations, the generated physical effect maysimulate a part of the presented VR content. The physical effect may begenerated in response to the user interacting with VR content presentedon the display of the VR HMD or the physical effect may generated inresponse to video content presented on the VR HMD reaching apredetermined time.

In implementations, the unmanned vehicle is an unmanned aerial vehicle(UAV), the UAV including an air flow unit including at least one airflow generator, where the desired physical effect is a desired air floweffect, where the generated physical effect is an air flow effect, andwhere configuring the unmanned vehicle in preparation for generating thedesired air flow effect includes: configuring air flow parameters of theair flow unit of the UAV.

In implementations utilizing an UAV, the method may further include:using at least the desired air flow effect: positioning a second UAVrelative to a position of the user of the VR HMD; and after positioningthe second UAV, using the second UAV to generate an air flow effect,where the air flow effect generated by the first UAV and the air floweffect generated by the second UAV are synchronized in time. The UAVsmay be positioned in a column such that the first and second air floweffects are combined to generate a stronger air flow effect. The UAVsmay also be positioned side-to-side to generate an air flow effectsimulating the air movement of a linear object and/or to generate widerair flow effect.

In implementations utilizing an UAV, the air flow unit may includemultiple air flow generators. In some implementations, the airflowgenerators may be rotatable to a first position to combine airflowsproduced by the airflow generators to generate a stronger airfloweffect, and the airflow generators may also be rotatable to a secondposition to generate a wider air flow effect. In some implementations,configuring the air flow parameters of the air flow unit may include:activating a predetermined number of air flow generators based on adesired air flow effect.

In some implementations, generating the air flow effect may include:generating mist and/or smell. In some implementations, the generated airflow effect may simulate a part of the presented VR content.

In some implementations utilizing the UAV, the method may furtherinclude: positioning a second UAV carrying an object such that theobject contacts the user of the VR HMD during generation of the air floweffect. In this implementation, the method may further include:presenting VR content on a display of the VR HMD; and synchronizingpresentation of the VR content with the object contacting the user.

Other features and aspects of the disclosed method will become apparentfrom the following detailed description, taken in conjunction with theaccompanying drawings, which illustrate, by way of example, the featuresin accordance with embodiments of the disclosure. The summary is notintended to limit the scope of the claimed disclosure, which is definedsolely by the claims attached hereto.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure, in accordance with one or more variousembodiments, is described in detail with reference to the followingfigures. The figures are provided for purposes of illustration only andmerely depict typical or example embodiments of the disclosure.

FIG. 1A illustrates a high-level block diagram of an exemplary system inaccordance with the present disclosure

FIG. 1B is a block diagram illustrating an example architecture forcomponents of a head mounted display and an unmanned aerial vehicle(UAV) that may be implemented in the system of FIG. 1A.

FIG. 2 is an operational flow diagram illustrating an example methodthat may be implemented in accordance with the disclosure.

FIG. 3A illustrates an example configuration of an air flow generatorthat may be used in particular embodiments of the application.

FIG. 3B illustrates an example configuration of an air flow generatorthat may be used in particular embodiments of the application.

FIG. 3C illustrates an example configuration of an air flow generatorthat may be used in particular embodiments of the application.

FIG. 3D illustrates a top view of two or more UAVs lining up in a columnto generate a stronger air flow.

FIG. 3E illustrates a side view of two or more UAVs lining up in acolumn to generate a stronger air flow.

FIG. 3F illustrates a plurality of UAVs lined up side by side togenerate a horizontal or linear air flow, to simulate the air movementof a linear object such as a stick, a sword, or tail of an animal.

FIG. 3G illustrates a UAV including two rotatable air flow generatorsthat may rotate to 1) a first position where the air flow generatorscombine air flows to provide a stronger blast of air, and 2) a secondposition where the air flow generators are side by side and generate awider air flow.

FIG. 4 illustrates an unmanned aerial vehicle mounted with physicalobjects that may be implemented in particular embodiments of theapplication.

FIG. 5 is an operational flow diagram illustrating an example methodthat may be implemented using unmanned vehicles in accordance with thedisclosure.

FIG. 6 illustrates an example computing module that may be used toimplement various features of the methods disclosed herein.

The figures are not exhaustive and do not limit the disclosure to theprecise form disclosed.

DETAILED DESCRIPTION

Embodiments described herein are directed to enhancing a virtual reality(VR) or augmented reality (AR) experience by using one or more unmannedvehicles to generate effects around a user of a headmounted display(HMD). For example, unmanned aerial vehicles (UAVs) such as drones,unmanned terrestrial vehicles with wheels, vehicles that are movablycoupled to a ceiling, wall, or floor (e.g., along a track), and othervehicles may be positioned relative to a user of a HMD to generateolfactory, auditory, and sensory effects that are synchronized with aVR/AR experience presented to the user. Embodiments of this disclosureare described herein and shown in the Figures for VR systems, but theseembodiments may also be implemented with AR systems.

Particular embodiments described herein are directed to enhancing a VRexperience by using one or more UAV to generate air flow effects arounda user of a VR HMD. The air flow effects generated by UAV may simulate aphysical and/or olfactory sensation corresponding to a VR environmentpresented to the user using the VR HMD. For example, an air flow effectgenerated by the UAV may correspond to a sword slash, a punch, passingobjects, wind, odor, or other experience corresponding to the VRenvironment. In yet further implementations, the one or more UAV may bemounted with physical objects (e.g., leaves, balls, paper, etc.) adaptedto contact the user, thereby further enhancing the user's VR experience.

The use of UAVs may provide several advantages in this environment.First, the air flow effects that are generated and felt by the user ofthe HMD are not limited by the position of the user (as would be thecase for fixed air flow generators). Rather, one or more UAVs maynavigate to a position relative to a user at any time during the user'sVR experience. This may enhance the realism of the user's VR experienceas the air flow effects can be generated at any time and come from anydirection, permitting a more interactive and less scripted VRexperience.

Second, the realism of the air flow effects may be enhanced by theflexibility of having UAV that can navigate to any position incombination with a VR HMD that presents the user with a VR experiencethat does not show the UAVs.

Third, the use of UAV vehicles provides a flexible and dynamic systemthat may provide a VR experience in any environment, including an openroom, that does not limit the user to navigating a particular set ofrooms in a particular order. For example, unlike other systems forgenerating real-world special effects, the user is not required totraverse a path or maze that generates predetermined effects atpredetermined positions along the path or within the maze. Rather, theeffects may be brought to the user regardless of where the user is andtheir path between different points.

FIG. 1A illustrates a high-level block diagram of an exemplary system inaccordance with the present disclosure. In this example system, one ormore UAVs 100 mounted with an air flow unit 150 communicatively coupleto a VR HMD 200 over communication network 300. For example, UAV 100 maycommunicatively couple to VR HMD 200 over a BLUETOOTH network, a WIFInetwork, a ZIGBEE network, or other suitable wireless communicationsnetwork. In some implementations, an intermediary device (not shown)such as a server, a desktop computer, a smartphone, a hub, and the likemay communicatively couple to UAV 100 and/or VR HMD 200 to direct and/orsynchronize actions taken by UAV 100 and/or VR HMD 200. For example, theHMD may be in communication with a desktop computer or computer clusterthat generates and renders the virtual world displayed by the HMD andcoordinates those actions with the movement of the UAV. FIG. 1A will bedescribed together with FIG. 1B, which is a block diagram illustratingan example architecture for components of a VR HMD 200 and an UAV 100that may be implemented in the system of FIG. 1A.

VR HMD 200 presents a VR experience to the user (e.g., a video, a videogame, a VR application, etc.) During presentation of the VR experience,UAV 100 may receive instructions to move into a position relative to theuser of the VR HMD 200 and generate air flow effects on the usercorresponding to the VR content presented to the user. For example, a VRvideo may be time synchronized with an air flow effects file containinginstructions that cause UAV 100 to generate air flow effects on the userat particular positions during particular times of the VR video. Asanother example, a particular action taken by a user of HMD 200 duringpresentation of an interactive VR experience may trigger an instructionto the UAV 100 to utilize air flow unit 150 to generate an air floweffect on the user. As would be appreciated from the foregoing examples,a variety of predetermined events during presentation of the VRexperience may trigger generation of an air flow effect. However, itshould be noted that in some implementations air flow effects may begenerated independently of the VR content that is being presented to theuser.

The air flow effects may be generated, for example, by using one or moreair flow generators 151 of air flow unit 150 to pull in or blow out airin a particular shape at a particular pressure, generating mist,generating cold or hot air relative to the ambient air temperature,generating a smell, or some combination thereof. In some instances,multiple UAVs 100 may be synchronized to generate one or more air floweffects.

In some implementations, machine-readable instructions that cause UAV100 to generate air flow effects may be embedded in one or more filesused to present the VR experience to the user. The instructions togenerate the air flow effects may be transmitted by a device (e.g. VRHMD 200 or an intermediary device) to UAV 100 over communication network300. In some implementations, UAV 100 may store all or a subset of theinstructions. The instructions may specify the type of air flow effect,the configuration of air flow generators 151 required to generate theair flow effect, the position of air flow unit 150 relative to the userwhen the air flow effect is generated, and other parameters of the airflow effect.

In implementations, UAV 100 may automatically move into position togenerate the air flow effect (e.g., in response to receivingmachine-readable instructions) or UAV 100 may be manually controlled bya user (i.e., using a remote control) or a computer (e.g., anintermediary device coupling to VR HMD 200 and UAV 100) to move intoposition and generate a particular air flow effect on the user of the VRHMD 200.

UAV 100 may be a multirotor or multicopter including a controller 170for controlling the various components of UAV 100, including, forexample, a motor/motor driver 145, a scanning device 130, an air flowunit 150, a connectivity interface 190, and a storage (not shown). Underoperation by controller 170, a motor/motor driver 145 may power morethan two rotors 126 that cause propellers 125 to rotate. For example,UAV 100 may be a tricopter, quadcopter, hexacopter, octocopter, etc. Inthe example of FIG. 1A, which shows a front side plan view of UAV 100,UAV 100 is illustrated as a quadcopter having arms 120 that couplerotors 126 to UAV body 110.

Motion of UAV 100 through the air may be achieved by adjusting themagnitude of the thrust (i.e., speed of rotation) of each rotor 126 andthe relative thrust between each rotor 126. For example, UAV 100 mayascend by increasing the thrust of rotors 126 until a force that isgreater than gravitational force on the UAV is produced. As anotherexample, UAV 100 may turn (rotate) by producing a greater or lowerthrust in one rotor relative to another rotor that rotates in anopposite direction. In some alternative implementations, UAV 100 may bea single or double-rotor helicopter (e.g., one that uses variable pitchrotors) or other suitable aerial vehicle that may be mounted with an airflow unit 150 and used in the environment of FIG. 1 to enhance the VRexperience of the user.

Air flow unit 150 may be removably or fixedly attached to UAV 100 atjoint 140 and may include one or more air flow generators 151, an H2Oreservoir 152, and a motor/motor driver 154 for driving air flowgenerators 151. In alternative implementations, motor/motor driver 145may drive air flow generators 151. Air flow generators 151 may pushand/or pull air and may be bladeless or bladed as illustrated in FIG. 1A(e.g., fans). In some implementations, air flow generators 151 mayinclude a tilt actuator and/or slats for controlling the direction andprofile in which air is pushed out or vacuumed. In implementations wheremultiple air flow generators 151 are used with an air flow unit 150, airflow generators 151 may be operated independently, e.g., turned on,turned off, operated at a particular intensity, etc.

In implementations, liquid stored in an H2O reservoir 152 may be used toproduce mist (e.g., through slots or vents in air flow generators 151).In yet further implementations, air flow unit 150 may include areservoir (not shown) for storing smelling agents. For example, duringgeneration of an air flow effect including smell (e.g., simulation of apine tree smell), the reservoir may be opened and vented through airflow unit 150 in a direction of the user of VR HMD 200.

In some implementations, joint 140 may include a tilt actuator thatpermits further positioning of air flow unit 150 relative to a user ofVR HMD 100.

Scanning device 130 may allow UAV 100 to navigate autonomously andposition itself relative to the user of VR HMD 200. For example,scanning device 130 may include a video camera that captures theenvironment including the user of HMD 100. During video capture,photogrammetry techniques may be applied to the captured video todetermine the relative positioning of UAV 100 and the user of VR HMD200. As another example, scanning device 130 may include a LIDAR unitincluding a laser and sensor. As UAV 100 traverses the environment(e.g., circles the user), the laser may emit pulsed light that isreflected back to the sensor, and differences in wavelengths and/orreturn times of the reflected laser as measured by the sensor may beused to subsequently generate a 3D point cloud and model of theenvironment, including the user. Other examples of 3D scanningtechnologies that may be utilized include other laser pulsed-based orphase-shift 3D scanning technologies, laser triangulation 3D scanningtechnologies, and structured light 3D scanning technologies.

In some implementations, the data captured by scanning device 130 may bestreamed to an intermediary device that, based on the streamed data(e.g., video of UAV's current position relative to user) instructs theUAV 100 to navigate to particular positions relative to the VR HMD userand/or within the room of the VR HMD user.

In some implementations, the VR HMD user may wear or carry sensors onthe body (e.g., on the hands, arms, head, etc.) that facilitate trackingof the user. For example, the user may carry controllers or wear abracelet that may have a unique signature that may be detected byscanning device 130. Additionally, the sensors worn or carried by the VRHMD user may include position sensors (e.g., one or more gyroscopes,accelerometers, etc.) that generate signals representative of the user'sposition and/or movement. Any position and/or motion data generatedusing position sensors may be wirelessly transmitted from the user tothe drone and/or an intermediary device that communicates with the droneand/or VR HMD.

VR HMD 200, in various embodiments, is any head-mounted system (e.g., avisor, glasses, goggles, head-mounted smartphone, etc.) that may displayVR or AR video content. For example, HMD 200 may display a VR view of acomputer-generated environment. HMD 200 may comprise a display system210, storage 220, positioning module 230, processing module 240, motionsensor 270, and connectivity interface 280. Although illustrated in theexample of FIGS. 1A-1B as being an untethered headset, HMD 200 may betethered or untethered. Additionally, depending on the implementation,HMD 200 may calculate the virtual world prior to display, or the virtualworld may be calculated by an intermediary device.

Display system 210 may include a VR video display that is notsee-through or a display that is partially see-through.

Storage 220 may comprise volatile memory (e.g. RAM), non-volatile memory(e.g. flash storage), or some combination thereof. In variousembodiments, storage 220 stores a VR software application 225, that whenexecuted by processing module 240 (e.g., a digital signal processor),generates a VR view on a display of display system 210. The viewgenerated on display system 210 may display a virtual realityenvironment to the user of VR HMD 200.

Positioning module 230 may comprise one or more devices for retrievingpositional information over a network. For example, positioning module230 may include a global positioning system receiver, a cellularreceiver, a network interface card, an altimeter, or some combinationthereof. The positional information retrieved by module 230 may beprocessed by processing module 240 to determine the geographicalcoordinates of HMD 200. For example, application software installed instorage 220 may use the location of HMD 200 from a GPS reading alongwith a map of declination (e.g., stored or retrieved from a network) todetermine the geographical coordinates of HMD 200.

Motion sensor 270 receives or generates electronic input signalsrepresentative of the motion/position of HMD 200. These electronic inputsignals may be received and processed by circuitry of processing module240 to determine the motion of a user of HMD 200 and an absoluteorientation of HMD 200 in the north-east-south-west (NESW) and up-downplanes. Processing module 240 may store this orientation information instorage 220. In various embodiments, motion sensor 270 may comprise oneor more gyroscopes, accelerometers, and magnetometers.

Connectivity interface 280 may connect VR HMD 200 UAV 100 through acommunication medium. The medium may comprise a wireless network systemsuch as a BLUETOOTH system, a ZIGBEE system, an Infrared (IR) system, aRadio Frequency (RF) system, a wireless local area network, or the like.In further embodiments, connectivity interface 280 may connect HMD 200to the Internet using a cellular network, a satellite network, a localarea network, or some combination thereof.

FIG. 2 is an operational flow diagram illustrating an example method 400that may be implemented in accordance with embodiments of thedisclosure. At operation 410, a UAV 100 may communicatively couple to aVR system including a VR HMD 200. Communication between UAV 100 and theVR system may allow synchronization between the generated air floweffects and the VR content presented to the user of VR HMD 200.

At operation 420, a processor may determine a desired air flow effect toimpart on a user of VR HMD 200. The desired air flow effect may include,for example, a desired intensity and duration of the air flow effect, adesired frequency of occurrence of the air flow effect, a desired shapeof the air flow effect, etc. As discussed above, in various embodiments,the desired air flow effect may be based on the VR content that is beingpresented to the user. For example, the desired air flow effect may betriggered by the time of the content (e.g., a video time code) or by anaction taken by the user (e.g., an action taken by the user during aninteractive VR presentation). In another example, an air flow effect maybe generated based on the user's current position or movement. By way ofexample, a desired air flow effect may include air movement effects ofvirtual objects (flying bullets, a swinging sword, explosion, movinganimals, wind, rain, sports ball, door opening/closing, vehicle, etc.)around the VR user.

Based on the desired air flow effect, UAV 100 may receive an instructionto move into position to generate the desired air flow effect. Atoperation 430, UAV 100 may be positioned relative to the user of VR HMD200 based on a desired air flow effect. For example, UAV 100 may hoverdirectly above the user, to the side of the user, behind the user, levelwith the user's torso, etc. In implementations, scanning device 130 maybe used to accurately position (e.g., distance and direction) UAV 100relative to the user.

At operation 440, air flow parameters of the air flow unit 150 of UAV100 may be configured in preparation for generating an air flow effect.For example, air flow generators 151 may be activated or deactivated toa desired intensity setting (e.g., soft as a breeze vs. hard as forceblast). Air flow generators 151 may be tilted or otherwise arranged toachieve a desired shape of air flow (e.g. small pinpoint, wide,circular, rectangular, etc.)(see FIG. 3) Air flow unit 150 may be tiltedusing a tilt actuator; an H2O reservoir may be opened; a smell reservoirmay be opened; a thermoelectric heater/cooler may be activated to createa temperature gradient in the air, etc. The generated air flow may be acold air flow (to simulate a cold environment or object) or a hot airflow (to simulate a hot environment or object).

At operation 450, the desired air flow effect is generated on the userof the VR HMD 200. FIGS. 3A-3C are cross-sectional diagrams illustratingsome example shapes of air flow effects that may be generated byconfiguring (e.g., activating/deactivating) air flow generators 151 ofan air flow unit 150 in accordance with embodiments. As illustrated, asubstantially rectangular and tilted air flow effect (e.g., onesimulating a side sword swipe) may be generated by activating threediagonally oriented air flow generators 151. The X represents activatedair flow generators. In FIG. 3B, a small pinpoint air flow effect (e.g.,one simulating a light touch or concentrated force) may be generated byactivating only a central air flow generator 151 and adjusting thepressure applied by the generator. In FIG. 3C, a large, circular airflow effect (e.g., one simulating a wide blast or gush of wind) may begenerating by activating all air flow generators 151.

In some implementations, a plurality of UAVs may line up in a column tocollectively generate a stronger air flow at the user, where the airflow of one UAV is added to the air flow of another UAV. FIG. 3D-3E,illustrate a top view (FIG. 3D) and side view (FIG. 3E) of two or moreUAVs lining up in a column. In some implementations, illustrated by FIG.3F, a plurality of UAVs may line up side by side to generate ahorizontal or linear air flow, to simulate the air movement of a linearobject such as a stick, a sword, or tail of an animal. Additionally, bylining up a plurality of UAVs, the width of the air flow may beincreased.

In some implementations, illustrated by FIG. 3G, a UAV may include twoor more rotatable air flow generators where the air flow generators canrotate to 1) a first position where the air flow generators combine airflows to provide a stronger blast of air, and 2) a second position wherethe air flow generators are side by side and generate a wider air flow.

Other examples of air flow effects that may be generated on the user ofVR HMD 200 are further described in co-pending Attorney Docket No.17-DIS-240-STUDIO-US-UTL, titled “Directed Wind Effect for AR/VRExperience,” which is incorporated herein by reference.

In further implementations, VR HMD 200 and/or UAV 100 may include aspeaker that generates sound effects synchronized to an air flow effectand/or physical object sensation generated by UAV 100.

In some implementations, physical objects (e.g., leaves, balls, paper,foam, etc.) adapted to contact the user may be attached to one or moreUAVs 100, thereby further enhancing the user's VR experience. As withthe aforementioned air flow effects, the user's physical sensation ofthe objects may be synchronized with the presentation of VR content tothe user using VR HMD 200. FIG. 4 illustrates an example of an UAV 100carrying different physical objects.

The objects may be removably or fixedly coupled to UAV 100 using a joint140, a thread, or other suitable means that causes the object to safelycontact the user and produce a physical sensation with respect to theuser of VR HMD 200. The objects coupled to the UAV 100 may simulatedifferent surfaces that are synchronized to the environment presented tothe user of VR HMD. For example, one or more UAV 100 may be mounted withleaves dangling from a thread that simulate the user's presence in aforest or jungle. The objects coupled to the UAV 100 may also simulatedifferent objects that interact with the user in the VR world. Forexample, a user of VR HMD 200 may be provided with a foam sword thatmakes contact with a foam proxy held by a UAV 100 that acts like afloating drone trainer.

In implementations where the objects are removably coupled to the UAV100, the objects may be released in synchronization with the VRexperience presented to the user of the VR HMD. For example, objects maybe dropped from overhead to simulate objects (e.g., leaves, snow, rain,etc.) that are presented to the user as part of the VR experience. Insome implementations, the objects may be grabbed by the user (e.g., inthe case of a foam sword) or thrown at the user as projectiles.

In some implementations, haptic devices may be coupled to the objectscarried by the UAV 100 and/or an object carried by a user of the VR HMD200 to further enhance the VR experience.

Although embodiments described herein have been primarily described inthe context of one more UAVs that generate air flow effects around auser of a VR HMD, it should be note that the techniques described hereinmay be applied using any unmanned vehicle to generate any sensory,olfactory, or auditory effect in the presence of a user of a VR HMD. Forexample, unmanned terrestrial vehicles with wheels, vehicles that movealong tracks, or any other object that is movably attached to a wall,floor, or ceiling may be used to generate effects in the presence of auser of a VR HMD. FIG. 5 is an operational flow diagram illustrating anexample method 500 that may be implemented using such unmanned vehicles.

At operation 510, an unmanned vehicle may communicatively couple to a VRsystem including a VR HMD 200. Communication between the unmannedvehicle and the VR system may allow synchronization between the effectsgenerated by the unmanned vehicle and the VR content presented to theuser of VR HMD 200.

At operation 520, a processor may determine a desired effect to imparton a user of VR HMD 200. The desired effect may include, for example, adesired air flow effect as discussed above, a desired physical objectsensation (e.g., by contacting the user with a particular object), adesired sound to be played to the user, etc. The desired effect may bebased on the VR content that is being presented to the user. Forexample, the desired effect may be triggered by the time of the content(e.g., a video time code) or by an action taken by the user (e.g., anaction taken by the user during an interactive VR presentation). In someimplementations, the desired effect may be generated based on the user'scurrent position or movement.

At operation 530, based on the desired effect, the unmanned vehicle mayreceive an instruction to move into position to generate the desiredeffect. At operation 540, the unmanned vehicle may be configured inpreparation for generating the desired effect. For example, in additionto moving into position, the unmanned vehicle may activate one or moredevices or orient itself relative to the user of the VR HMD. Atoperation 500, the desired physical effect is generated on the user ofthe VR HMD.

Although techniques described herein have been primarily described withrespect to a VR environment, it should be appreciated that thetechniques described herein may be similarly applied to a user of anaugmented reality (AR) HMD. In such implementations, the AR HMD mayinclude an AR display such as an optical see-through or videosee-through display that supplements video of the user's real worldenvironment with overlaid digital objects. For example, the AR displaymay include a transparent OLED or LED screen that uses a waveguide orlight guide to display digital objects overlaid over the real-worldenvironment.

As used herein, the term “virtual reality” or “VR” generally refers to asimulation of a user's presence in an environment, real or imaginary,such that the user may interact with it.

As used herein, the term “augmented reality” or “AR” generally refers toa view of a physical, real-world environment that is augmented orsupplemented by computer-generated or digital information such as video,sound, and graphics. The digital information is directly registered inthe user's physical, real-world environment such that the user mayinteract with the digital information in real time. The digitalinformation may take the form of images, audio, haptic feedback, video,text, etc. For example, three-dimensional representations of digitalobjects may be overlaid over the user's view of the real-worldenvironment in real time.

FIG. 6 illustrates an example computing module that may be used toimplement various features of the methods disclosed herein.

As used herein, the term module might describe a given unit offunctionality that can be performed in accordance with one or moreembodiments of the present application. As used herein, a module mightbe implemented utilizing any form of hardware, software, or acombination thereof. For example, one or more processors, controllers,ASICs, PLAs, PALs, CPLDs, FPGAs, logical components, software routinesor other mechanisms might be implemented to make up a module. Inimplementation, the various modules described herein might beimplemented as discrete modules or the functions and features describedcan be shared in part or in total among one or more modules. In otherwords, as would be apparent to one of ordinary skill in the art afterreading this description, the various features and functionalitydescribed herein may be implemented in any given application and can beimplemented in one or more separate or shared modules in variouscombinations and permutations. Even though various features or elementsof functionality may be individually described or claimed as separatemodules, one of ordinary skill in the art will understand that thesefeatures and functionality can be shared among one or more commonsoftware and hardware elements, and such description shall not requireor imply that separate hardware or software components are used toimplement such features or functionality.

Where components or modules of the application are implemented in wholeor in part using software, in one embodiment, these software elementscan be implemented to operate with a computing or processing modulecapable of carrying out the functionality described with respectthereto. One such example computing module is shown in FIG. 6. Variousembodiments are described in terms of this example-computing module 600.After reading this description, it will become apparent to a personskilled in the relevant art how to implement the application using othercomputing modules or architectures.

Referring now to FIG. 6, computing module 600 may represent, forexample, computing or processing capabilities found within desktop,laptop, notebook, and tablet computers; hand-held computing devices(tablets, PDA's, smart phones, cell phones, palmtops, etc.); wearabledevices (e.g., HMD); mainframes, supercomputers, workstations orservers; or any other type of special-purpose or general-purposecomputing devices as may be desirable or appropriate for a givenapplication or environment. Computing module 600 might also representcomputing capabilities embedded within or otherwise available to a givendevice. For example, a computing module might be found in otherelectronic devices such as, for example, digital cameras, navigationsystems, cellular telephones, portable computing devices, modems,routers, WAPs, terminals and other electronic devices that might includesome form of processing capability.

Computing module 600 might include, for example, one or more processors,controllers, control modules, or other processing devices, such as aprocessor 604. Processor 604 might be implemented using ageneral-purpose or special-purpose processing engine such as, forexample, a microprocessor, controller, or other control logic. In theillustrated example, processor 604 is connected to a bus 602, althoughany communication medium can be used to facilitate interaction withother components of computing module 600 or to communicate externally.

Computing module 600 might also include one or more memory modules,simply referred to herein as main memory 608. For example, preferablyrandom access memory (RAM) or other dynamic memory, might be used forstoring information and instructions to be executed by processor 604.Main memory 608 might also be used for storing temporary variables orother intermediate information during execution of instructions to beexecuted by processor 604. Computing module 600 might likewise include aread only memory (“ROM”) or other static storage device coupled to bus602 for storing static information and instructions for processor 604.

The computing module 600 might also include one or more various forms ofinformation storage mechanism 610, which might include, for example, amedia drive 612 and a storage unit interface 620. The media drive 612might include a drive or other mechanism to support fixed or removablestorage media 614. For example, a hard disk drive, a solid state drive,a magnetic tape drive, an optical disk drive, a CD or DVD drive (R orRW), or other removable or fixed media drive might be provided.Accordingly, storage media 614 might include, for example, a hard disk,a solid state drive, magnetic tape, cartridge, optical disk, a CD, DVD,or Blu-ray, or other fixed or removable medium that is read by, writtento or accessed by media drive 612. As these examples illustrate, thestorage media 614 can include a computer usable storage medium havingstored therein computer software or data.

In alternative embodiments, information storage mechanism 610 mightinclude other similar instrumentalities for allowing computer programsor other instructions or data to be loaded into computing module 600.Such instrumentalities might include, for example, a fixed or removablestorage unit 622 and an interface 620. Examples of such storage units622 and interfaces 620 can include a program cartridge and cartridgeinterface, a removable memory (for example, a flash memory or otherremovable memory module) and memory slot, a PCMCIA slot and card, andother fixed or removable storage units 622 and interfaces 620 that allowsoftware and data to be transferred from the storage unit 622 tocomputing module 600.

Computing module 600 might also include a communications interface 624.Communications interface 624 might be used to allow software and data tobe transferred between computing module 600 and external devices.Examples of communications interface 624 might include a modem orsoftmodem, a network interface (such as an Ethernet, network interfacecard, WiMedia, IEEE 802.XX or other interface), a communications port(such as for example, a USB port, IR port, RS232 port Bluetooth®interface, or other port), or other communications interface. Softwareand data transferred via communications interface 624 might typically becarried on signals, which can be electronic, electromagnetic (whichincludes optical) or other signals capable of being exchanged by a givencommunications interface 624. These signals might be provided tocommunications interface 624 via a channel 628. This channel 628 mightcarry signals and might be implemented using a wired or wirelesscommunication medium. Some examples of a channel might include a phoneline, a cellular link, an RF link, an optical link, a network interface,a local or wide area network, and other wired or wireless communicationschannels.

In this document, the terms “computer readable medium”, “computer usablemedium” and “computer program medium” are used to generally refer tonon-transitory media, volatile or non-volatile, such as, for example,memory 608, storage unit 622, and media 614. These and other variousforms of computer program media or computer usable media may be involvedin carrying one or more sequences of one or more instructions to aprocessing device for execution. Such instructions embodied on themedium, are generally referred to as “computer program code” or a“computer program product” (which may be grouped in the form of computerprograms or other groupings). When executed, such instructions mightenable the computing module 600 to perform features or functions of thepresent application as discussed herein.

Although described above in terms of various exemplary embodiments andimplementations, it should be understood that the various features,aspects and functionality described in one or more of the individualembodiments are not limited in their applicability to the particularembodiment with which they are described, but instead can be applied,alone or in various combinations, to one or more of the otherembodiments of the application, whether or not such embodiments aredescribed and whether or not such features are presented as being a partof a described embodiment. Thus, the breadth and scope of the presentapplication should not be limited by any of the above-describedexemplary embodiments.

Terms and phrases used in this document, and variations thereof, unlessotherwise expressly stated, should be construed as open ended as opposedto limiting. As examples of the foregoing: the term “including” shouldbe read as meaning “including, without limitation” or the like; the term“example” is used to provide exemplary instances of the item indiscussion, not an exhaustive or limiting list thereof; the terms “a” or“an” should be read as meaning “at least one,” “one or more” or thelike; and adjectives such as “conventional,” “traditional,” “normal,”“standard,” “known” and terms of similar meaning should not be construedas limiting the item described to a given time period or to an itemavailable as of a given time, but instead should be read to encompassconventional, traditional, normal, or standard technologies that may beavailable or known now or at any time in the future. Likewise, wherethis document refers to technologies that would be apparent or known toone of ordinary skill in the art, such technologies encompass thoseapparent or known to the skilled artisan now or at any time in thefuture.

The presence of broadening words and phrases such as “one or more,” “atleast,” “but not limited to” or other like phrases in some instancesshall not be read to mean that the narrower case is intended or requiredin instances where such broadening phrases may be absent. The use of theterm “module” does not imply that the components or functionalitydescribed or claimed as part of the module are all configured in acommon package. Indeed, any or all of the various components of amodule, whether control logic or other components, can be combined in asingle package or separately maintained and can further be distributedin multiple groupings or packages or across multiple locations.

Additionally, the various embodiments set forth herein are described interms of exemplary block diagrams, flow charts and other illustrations.As will become apparent to one of ordinary skill in the art afterreading this document, the illustrated embodiments and their variousalternatives can be implemented without confinement to the illustratedexamples. For example, block diagrams and their accompanying descriptionshould not be construed as mandating a particular architecture orconfiguration.

While various embodiments of the present disclosure have been describedabove, it should be understood that they have been presented by way ofexample only, and not of limitation. Likewise, the various diagrams maydepict an example architectural or other configuration for thedisclosure, which is done to aid in understanding the features andfunctionality that can be included in the disclosure. The disclosure isnot restricted to the illustrated example architectures orconfigurations, but the desired features can be implemented using avariety of alternative architectures and configurations. Indeed, it willbe apparent to one of skill in the art how alternative functional,logical or physical partitioning and configurations can be implementedto implement the desired features of the present disclosure. Also, amultitude of different constituent module names other than thosedepicted herein can be applied to the various partitions. Additionally,with regard to flow diagrams, operational descriptions and methodclaims, the order in which the steps are presented herein shall notmandate that various embodiments be implemented to perform the recitedfunctionality in the same order unless the context dictates otherwise.

Although the disclosure is described above in terms of various exemplaryembodiments and implementations, it should be understood that thevarious features, aspects and functionality described in one or more ofthe individual embodiments are not limited in their applicability to theparticular embodiment with which they are described, but instead can beapplied, alone or in various combinations, to one or more of the otherembodiments of the disclosure, whether or not such embodiments aredescribed and whether or not such features are presented as being a partof a described embodiment. Thus, the breadth and scope of the presentdisclosure should not be limited by any of the above-described exemplaryembodiments.

What is claimed is:
 1. A method, comprising: communicatively coupling anunmanned vehicle to a virtual reality (VR) system including a VRheadmounted display (HMD); determining a desired physical effect to begenerated on a user of the VR HMD; based on at least the desiredphysical effect, positioning the unmanned vehicle relative to theposition of the user of the VR HMD and configuring the unmanned vehiclein preparation for generating the physical effect; and after positioningthe unmanned vehicle, generating a physical effect on the user of the VRHMD.
 2. The method of claim 1, further comprising: presenting VR contenton a display of the VR HMD; and synchronizing presentation of the VRcontent with the generation of the physical effect on the user of the VRHMD.
 3. The method of claim 2, where the generated physical effectsimulates a part of the presented VR content.
 4. The method of claim 3,wherein the physical effect is generated in response to the userinteracting with VR content presented on the display of the VR HMD. 5.The method of claim 3, wherein the physical effect is generated inresponse to video content presented on the VR HMD reaching apredetermined time.
 6. The method of claim 1, wherein the unmannedvehicle is an unmanned aerial vehicle (UAV), the UAV comprising an airflow unit including at least one air flow generator, wherein the desiredphysical effect is a desired air flow effect, wherein the generatedphysical effect is an air flow effect, and wherein configuring theunmanned vehicle in preparation for generating the desired air floweffect comprises: configuring air flow parameters of the air flow unitof the UAV.
 7. The method of claim 6, further comprising: using at leastthe desired air flow effect: positioning a second UAV relative to aposition of the user of the VR HMD; and after positioning the secondUAV, using the second UAV to generate an air flow effect, wherein theair flow effect generated by the first UAV and the air flow effectgenerated by the second UAV are synchronized in time.
 8. The method ofclaim 6, wherein the air flow unit comprises a plurality of air flowgenerators, and wherein configuring air flow parameters of the air flowunit of the UAV comprises: activating a predetermined number of air flowgenerators based on the desired air flow effect.
 9. The method of claim6, wherein generating the air flow effect, comprises: generating mist.10. The method of claim 6, wherein generating the air flow effect,comprises generating smell.
 11. The method of claim 6, furthercomprising: positioning a second UAV carrying an object such that theobject contacts the user of the VR HMD during generation of the air floweffect.
 12. The method of claim 11, further comprising: presenting VRcontent on a display of the VR HMD; and synchronizing presentation ofthe VR content with the object contacting the user.
 13. The method ofclaim 6, further comprising: presenting VR content on a display of theVR HMD; and synchronizing presentation of the VR content with thegenerated air flow effect.
 14. The method of claim 13, wherein thegenerated air flow effect simulates a part of the presented VR content.15. A system, comprising: a non-transitory computer-readable mediumhaving instructions stored thereon that, when executed by a processorcause the system to: communicatively couple an unmanned aerial vehicle(UAV) to a virtual reality (VR) system including a VR headmounteddisplay (HMD), the UAV comprising an air flow unit including at leastone air flow generator; determine a desired air flow effect to begenerated on a user of the VR HMD; based on least the desired air floweffect, position the UAV relative to the position of the user of the VRHMD and configure air flow parameters of the air flow unit of the UAV;and after positioning the UAV, generate an air flow effect on the userof the VR HMD based on the configured air flow parameters.
 16. Thesystem of claim 15, wherein the instructions, when executed by theprocessor, further cause the system to: using at least the desired airflow effect: position a second UAV relative to a position of the user ofthe VR HMD; and after positioning the second UAV, use the second UAV togenerate an air flow effect, wherein the air flow effect generated bythe first UAV and the air flow effect generated by the second UAV aresynchronized in time.
 17. The system of claim 15, wherein the air flowunit comprises a plurality of air flow generators, and whereinconfiguring air flow parameters of the air flow unit of the UAVcomprises: activating a predetermined number of air flow generatorsbased on the desired air flow effect.
 18. The system of claim 15,further comprising: the UAV.
 19. The system of claim 18, furthercomprising: the VR HMD.
 20. The system of claim 19, wherein theinstructions, when executed by the processor, further cause the systemto: present VR content on a display of the VR HMD; and synchronizepresentation of the VR content with the generated air flow effect. 21.The system of claim 16, wherein the UAVs are positioned in a column suchthat the first and second air flow effects are combined to generate astronger air flow effect.
 22. The system of claim 16, wherein the UAVsare positioned side-to-side to generate an air flow effect simulatingthe air movement of a linear object.
 23. The system of claim 17, whereinthe air flow unit comprises a first airflow generator and a secondairflow generator, wherein the airflow generators are rotatable to afirst position to combine airflows produced by the airflow generators togenerate a stronger airflow effect, and wherein the airflow generatorsare rotatable to a second position to generate a wider air flow effect.